// 持久化token：{token:string; refresh_token:string}
import { Token } from './../types/data.d'
const TOKEN_KEY: string = 'geek-h5-token-141'

// 获取token：把序列化的字符串转换成对象
const getToken = (): Token =>
  JSON.parse(localStorage.getItem(TOKEN_KEY) ?? '{}') as Token
// 存储token：注意把对象序列化成字符串存储
const setToken = (token: Token): void =>
  localStorage.setItem(TOKEN_KEY, JSON.stringify(token))
// 清除token
const clearToken = () => localStorage.removeItem(TOKEN_KEY)
// 是否已登录=> 根据本地是否存储有token，判断用户是否登录
// !! 操作符：如果值是''、null、undefined会返回false,相反返回true=》增强代码健壮性（鲁棒性）
const isAuth = () => !!getToken().token

export { isAuth, getToken, setToken, clearToken }